#include <iostream>

using namespace std;

// 单个默认参数
// 指定方法形参位置的默认参数，如果外部不传入，默认使用 a = 66
void func(int a = 66){

	cout << "a:" << a << endl;

}

// 多个默认参数
// 定义带有多个形参默认值的时候，必须把带有默认值放在最后面
int get_volume(int len, int width, int height = 11){
	cout << "len:" << len << endl;
	cout << "width:" << width << endl;
	cout << "height:" << height << endl;
	return len*width*height;
}
// 尽量不要定义预留参数，无意义
void getX(int x,int){
	cout << "x:" << x << endl;
}
// 如果真的想定义，预留参数，使用默认参数，给出默认值
void getX2(int x,int a = 0){
	cout << "x:" << x << endl;
}
int main(int argc, char *argv[]) {


	int value = 10;
	func(value);

	int len = 10;
	int width = 20;
	int height = 40;
	cout << "volume:" << endl << get_volume(len, width) << endl;

	// 其中14并无意义
	getX(1,14);
	// 其中14
	getX2(1);
	getX2(1,14);

	return 0;
}